﻿// ConsoleApplication9.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <string>
#include <cstring>
using namespace std;
const int M = 1e6 + 5;
char a[M], t[M]; int q[M], nex[M], cnt[M], tr[M][28], N = 1; bool vis[M];
void trie() {
    int T; cin >> T;
    while (T--) {
        cin >> a;
        int n = strlen(a), p = 0, ch;
        for (int i = 0; i < n; i++) {
            ch = a[i] - 'a';
            if (!tr[p][ch])tr[p][ch] = ++N;
            p = tr[p][ch];
        }
        cnt[p]++;
    }
}
void build() {
    int hh = 0, tt = -1;
    for (int i = 0; i < 26; i++)
        if (tr[0][i]) q[++tt] = tr[0][i];
    while (hh <= tt) {
        int s = q[hh++];
        for (int i = 0; i < 26; i++) {
            int p = tr[s][i];
            if (!p) tr[s][i] = tr[nex[s]][i];
            else {
                nex[p] = tr[nex[s]][i];
                q[++tt] = p;
            }
        }
    }
}
int main()
{
    cin.tie(0)->sync_with_stdio(0);
    cout.tie(0)->sync_with_stdio(0);
    trie();
    build();
    int res = 0; cin >> t;
    for (int i = 0, j = 1; t[i]; i++) {
        int s = t[i] - 'a';
        j = tr[j][s];
        int p = j;
        while (p&&!vis[p]) {
            res += cnt[p];
            cnt[p] = 0; vis[p] = 1;
            p = nex[p];
        }
    }
    cout << res;
    return 0;
}

// 运行程序: Ctrl + F5 或调试 >“开始执行(不调试)”菜单
// 调试程序: F5 或调试 >“开始调试”菜单

// 入门使用技巧: 
//   1. 使用解决方案资源管理器窗口添加/管理文件
//   2. 使用团队资源管理器窗口连接到源代码管理
//   3. 使用输出窗口查看生成输出和其他消息
//   4. 使用错误列表窗口查看错误
//   5. 转到“项目”>“添加新项”以创建新的代码文件，或转到“项目”>“添加现有项”以将现有代码文件添加到项目
//   6. 将来，若要再次打开此项目，请转到“文件”>“打开”>“项目”并选择 .sln 文件
